Skip to content

Non-interactive: 47 tutorials for automated testing#49

Merged
mwunderl merged 22 commits intomainfrom
feature/non-interactive
Apr 30, 2026
Merged

Non-interactive: 47 tutorials for automated testing#49
mwunderl merged 22 commits intomainfrom
feature/non-interactive

Conversation

@mwunderl
Copy link
Copy Markdown
Contributor

All user-facing read prompts replaced with auto-answers:

  • Cleanup confirmations → y
  • Press Enter → removed/sleep
  • Runtime/config selection → first option
  • Email/name/domain → generated values
  • VPC/subnet selection → first option
  • Internal parsing reads untouched

Results: 42 pipeline-tested + 5 locally fixed
Remaining: 23 tutorials blocked by VPC quota limits (not script issues)

Tested in run_group: non-interactive-20260427-1821

mwunderl added 22 commits April 28, 2026 00:15
All user-facing read prompts auto-answered. Internal parsing reads untouched.
21 tutorials pending (environment quota limits, not script issues).
Curly braces in bash regex cause match failure. Simplified pattern.
…n, 1 wait-loop

033-ses: replaced Press Enter waits with sleep
085-ecs-sc: auto-answer cleanup prompt
046-ssm: auto-answer region + cleanup prompts
055-vpc-lattice: fixed regex bracket + contraction in comment
081-mediaconnect: local → regular variable at top level
001-lightsail: snapshot state 'completed' → 'available'
…act grep, 010 regex, validation.yaml

032-cloudwatch-streams: zip -t → unzip -t (zip -t means set-date on this system)
066-amazon-cognito-gs: MFA OFF, user pool ID regex, auth flow, temp password symbols, deletion protection
074-amazon-textract-gs: grep -o returns exit 1 on no match under set -e
010-cloudmap-service-discovery: allow uppercase hex in operation_id
.doc_gen/validation.yaml: allow === separator string
…lag), 046-ssm (unique policy name), 067-payment-crypto (negative test), 010-cloudmap (regex)

All verified locally:
053-aws-config-gs: ✓ (skip bucket create when shared, auto-answer cleanup)
082-amazon-polly-gs: ✓ (single-quote SSML, remove --max-results)
046-aws-systems-manager-gs: ✓ (unique policy name with random suffix)
067-aws-payment-cryptography-gs: ✓ (check exit code not grep output)
010-cloudmap-service-discovery: needs Route 53 hosted zone (prereq)
…emaker (shared bucket skip)

Also: 053-config, 082-polly, 046-ssm, 066-cognito, 067-payment-crypto from earlier.
37/68 pass locally. 5 VPC limit, 14 service/prereq, 5 script bugs remaining.
010: needs Route 53 hosted zone (prereq not available)
033: requires real email verification (fundamentally interactive)
…side fn), 059-datazone (prereq)

043: SIGPIPE from urandom|fold|head under pipefail, special chars in password break shell,
     mq.t3.micro doesn't support EBS storage (use EFS). Still needs >10 min timeout.
058: local outside function at line 209
059: DataZone needs blueprints enabled (prereq, not script bug)
…route), 059-datazone (--managed flag)

039: dc2.large not available, removed non-existent log bucket
047: default routes already exist in VPC, use replace-route
059: list-environment-blueprints needs --managed flag. Still needs DataZone IAM permissions (prereq).
…rk in v1. Passes locally.

Total: 60/66 pass locally. Remaining 6 need Identity Center (console enable).
…oth pass in analytics account

040: hardcoded us-east-1 → use AWS_DEFAULT_REGION
042: same + jq path .application.status → .status (top-level)

Score: 63/66 pass (95%). Remaining: 018 (ECS registration), 035 (AD directory), 059 (DataZone IC integration)
…prereqs-directory CFN stack.

018: user data had literal $CLUSTER_NAME instead of the actual cluster name.
     Single-quoted heredoc prevented variable expansion. Passes locally.
000-prereqs-directory: Simple AD for WorkSpaces tutorials. Deployed.
…taZone integration)

Final score: 64/66 pass locally (97%).
035: needs user created in AD directory (LDAP/domain-joined instance)
059: needs IC user mapped as DataZone project member
- 049, 070: chmod after exec > >(tee ...) races with file creation.
  Fix: touch + chmod before exec (070), simplify log setup (049).
- 049: set -e + exec > >(tee) causes SIGPIPE exit. Fix: drop set -e,
  script already has explicit error handling via check_error.
- 049: empty TEMP_FILES array triggers set -u. Fix: safe expansion.

Tested locally: both scripts create and clean up resources successfully.
Fix logging race condition in 2 scripts
@mwunderl mwunderl merged commit b8bc0d1 into main Apr 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant